package cc.dd.marketing.common;


import cc.dd.marketing.api.constant.FunctionCodeEnum;
import cc.dd.marketing.api.request.base.BaseRequest;
import cc.dd.marketing.core.domain.RuleInnerDTO;
import lombok.Data;

/**
 * 公共入参
 *
 * @author dongsufeng
 * @date 2022/9/9 10:52 AM
 */
@Data
public class ContextParam<REQ extends BaseRequest, DTO extends RuleInnerDTO> {

    private FunctionCodeEnum functionCode;
    /**
     * 业务类型，活动，优惠券等
     */
    private String businessNo;
    /**
     * 业务端请求入参
     */
    private REQ request;

    private DTO baseDTO;

    public ContextParam(FunctionCodeEnum functionCode, REQ request, String businessNo) {
        this.functionCode = functionCode;
        this.request = request;
        this.businessNo = businessNo;
    }
}
